#ifndef GAMEMAP_HPP_INCLUDED
#define GAMEMAP_HPP_INCLUDED

#include <string>

#include "tile.hpp"

namespace hex {

class gamemap
{
public:
	class parse_error {};

	gamemap(const std::string& str);
	void draw() const;
	int width() const { return width_; }
	int height() const { return height_; }

	bool is_loc_on_map(const location& loc) const;
	const_tile_ptr get_tile(const location& loc) const;
	tile_ptr get_tile(const location& loc);
private:
	std::vector<tile_ptr> tiles_;
	int width_, height_;
};

}

#endif
